Expresiones regulares

Descripcion

Como utilizar expresiones regulares en C#

Metodo

Para utilizar expresiones regulares primero tenemos que añadir el siguiente namespace:

using System.Text.RegularExpressions;

Despues simplemente tenemos que definir la expresión regular (creando un objeto Regex) y aplicarla a un texto.

using System.Text.RegularExpressions;


String texto = "maria 56 pedro";

Regex regex = new Regex("[A-Za-z]+");

Console.WriteLine(regex.IsMatch(texto));

MatchCollection resultados = regex.Matches(texto);

foreach (Match s in resultados)
{
    Console.WriteLine(s);

}

En el ejemplo anterior usamos dos funciones:

La salida de este código sería:

True
maria
pedro
Escapar caracteres

Hay ciertas expresiones regulares que se referencian con la barra invertida, si queremos por ejemplo indicar \d en la expresion regular (que se usa para coincidir con cualquier digito) tendríamos que pasar la expresión regular tal que así:

Regex regex = new Regex("\\d");

Tenemos que escapar la barra invertida ya que sino el propio string en C# interpretará el \d como un caracter escapado en vez de pasar \d a la expresion regular.

Otra manera de evitar esto es usando Verbatim String:

Regex regex = new Regex(@"\d");

De esta manera no tenemos que escapar las barras invertidas, ya que se escapan automáticamente

Un problema que podemos tener con esto es a la hora de pasar comillas doubles ("), normalmente tenemos que escaparlas con la barra invertida, pero si usamos el verbatim string tenemos que poner dos veces las comillas dobles ("") para pasarselas de manera correcta a la expresión regular (sino es como si se indicase el fin del string que le estamos pasando)

Tags

C# | Regular expresion